using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using FEL.BOD;
using System.Collections.Generic;
using System.Web.Services;

public partial class BOD_BOD_ARTICULO : PaginaBaseFormView 
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            string BodegaId = Request.QueryString.Get("Bod_Articulo_Id");
            if (BodegaId != null)
            {
                fvbod_articulo.DefaultMode = FormViewMode.ReadOnly;
                AsignarParametrosDataSourceDeatailsView(BodegaId);
            }
        }
        
        base.Page_Load(sender, e);
        Fv.DataBound += new EventHandler(fvbod_articulo_DataBound);
    }

    void fvbod_articulo_DataBound(object sender, EventArgs e)
    {
        DeshabilitraBotonesEnInsert();
    }


    protected override Type TipoObjeto
    {
        get { return typeof(global::Bod_Articulo); }
    }

    protected override FormView Fv
    {
        get { return fvbod_articulo; }
    }

    protected override ObjectDataSource OdsDv
    {
        get { return odsfvbod_articulo; }
    }

    protected override string Contenedor
    {
        get { return "BOD_ARTICULO"; }
    }

    private void DeshabilitraBotonesEnInsert()
    {
        if (Fv.CurrentMode == FormViewMode.Insert)
        {
            DeshabilitarControl("BtnImagen");            
            DeshabilitarControl("BtnAtributos");            
        }
    }

    private void DeshabilitarControl(string idControl)
    {
        Control control = Fv.FindControl(idControl);
        if (control is Button)
        {
            ((Button)control).Enabled = false;
        }
    }

    protected override void DefinirParametrosFijosDeInsercion(System.Collections.Generic.List<DictionaryEntry> param)
    {
        if (Request.QueryString.Count > 0)
        {
            param.Add(new DictionaryEntry("Bod_Articulo_Id", Request.QueryString["Bod_Articulo_Id"]));
            param.Add(new DictionaryEntry("Bod_Articulo_Codigo", Request.QueryString["Bod_Articulo_Codigo"]));
            param.Add(new DictionaryEntry("Bod_Articulo_Nombre", Request.QueryString["Bod_Articulo_Nombre"]));


        }
        base.DefinirParametrosFijosDeInsercion(param);
    }

    protected void BtnImagen_Click(object sender, EventArgs e)
    {
        TextBox ArticuloId = (TextBox)Fv.FindControl("Id");
        TextBox ArticuloCodigo = (TextBox)Fv.FindControl("Codigo");
        TextBox ArticuloNombre = (TextBox)Fv.FindControl("Nombre");
        Response.Redirect("~/BOD/BOD_ARTICULO_IMAGEN.aspx?Bod_Articulo_Id=" + ArticuloId.Text + "&Bod_Articulo_Codigo=" + ArticuloCodigo.Text + "&Bod_Articulo_Nombre=" + ArticuloNombre.Text);
    }
    protected void BtnListado_Click(object sender, EventArgs e)
    {
        TextBox ArticuloId = (TextBox)Fv.FindControl("Id");        
        Response.Redirect("~/BOD/BOD_ARTICULO_LISTADO.aspx?Bod_Articulo_Id=" + ArticuloId.Text);
    }
    protected void BtnAtributos_Click(object sender, EventArgs e)
    {
        TextBox ArticuloId = (TextBox)Fv.FindControl("Id");
        TextBox ArticuloCodigo = (TextBox)Fv.FindControl("Codigo");
        TextBox ArticuloNombre = (TextBox)Fv.FindControl("Nombre");
        Response.Redirect("~/BOD/BOD_ARTICULO_ATRIBUTO.aspx?Bod_Articulo_Id=" + ArticuloId.Text + "&Bod_Articulo_Codigo=" + ArticuloCodigo.Text + "&Bod_Articulo_Nombre=" + ArticuloNombre.Text);
    }

    [WebMethod]
    static public string[] GetUnidad(string prefixText, int count)
    {
        if (count == 0) count = 10;

        Scope s = (Scope)HttpContext.Current.Session["Scope"];

        FEL.BOD.BO_Bod_Unidad boBodUnidad = new BO_Bod_Unidad();

        List<Bod_Unidad> litBodUnidad = boBodUnidad.GetByLikeNombre("Nombre", s, prefixText + "%");

        List<string> opciones = new List<string>();
        for (int i = 0; i < litBodUnidad.Count && i < count; i++)
        {
            string value = litBodUnidad[i].Id + "||" +
                           litBodUnidad[i].Codigo;

            opciones.Add(AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(litBodUnidad[i].Nombre, value));
        }

        return opciones.ToArray();
    }

    [WebMethod]
    static public string[] GetClase(string prefixText, int count)
    {
        if (count == 0) count = 10;

        Scope s = (Scope)HttpContext.Current.Session["Scope"];

        FEL.BOD.BO_Bod_Clase boBodClase = new BO_Bod_Clase();

        List<Bod_Clase> litBodClase = boBodClase.GetByLikeNombre("Nombre", s, prefixText + "%");

        List<string> opciones1 = new List<string>();
        for (int i = 0; i < litBodClase.Count && i < count; i++)
        {
            string value = litBodClase[i].Id + "||" +
                           litBodClase[i].Codigo;

            opciones1.Add(AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(litBodClase[i].Nombre, value));
        }

        return opciones1.ToArray();
    }

    [WebMethod]
    static public string[] GetGrupo(string prefixText, int count)
    {
        if (count == 0) count = 10;

        Scope s = (Scope)HttpContext.Current.Session["Scope"];

        FEL.BOD.BO_Bod_Grupo boBodGrupo = new BO_Bod_Grupo();

        List<Bod_Grupo> litBodGrupo = boBodGrupo.GetByLikeNombre("Nombre", s, prefixText + "%");

        List<string> opciones2 = new List<string>();
        for (int i = 0; i < litBodGrupo.Count && i < count; i++)
        {
            string value = litBodGrupo[i].Id + "||" +
                           litBodGrupo[i].Codigo;

            opciones2.Add(AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(litBodGrupo[i].Nombre, value));
        }

        return opciones2.ToArray();
    }
}
